Dans la configuration des routeurs intervient également la configuration
des interfaces réseaux et notamment des tunnels. Leur mise en place se 
fait via \emph{OpenVPN} lorsqu'il s'agit de créer des tunnels permanents 
entre différents sites ou avec les clients mais il est également possible,
dans le cas où un tunnel temporaire peut permettre de faciliter un 
dépannage, de créer des tunnels rapidement via \emph{SSH}\footnote{SSH: Shell sécurisé
permettant de se connecter à distance à un poste} et son option 
\texttt{-w} qui permet la création de VPN par ssh depuis la version 4.3.\\
Cependant, il faut modifier la configuration du serveur, il faut modifier le 
fichier /etc/ssh/sshd\_config et y définir:\\
\verb?PermitRootLogin yes?\\
\verb?PermitTunnel point-to-point?\\
Il faut ensuite redémarrer le service ssh:\\
\verb?/etc/init.d/ssh restart?

Exemple:\\

ssh -w 0:0 root@toto.plan-net.lu \\

Cette simple commande permet de créer un tunnel entre la machine locale et
toto.plan-net.lu\\

Cependant cela ne suffit pas, si l'on veut vraiment créer un tunnel exploitable
en IP, il faut lancer 2 commandes:\\

\verb?ssh -w 0:0 root@toto.plan-net.lu ifconfig tun0 192.168.200.1 \?\\
\verb?pointopoint 192.168.200.2?\\

\verb?ifconfig tun0 192.168.200.2 pointopoint 192.168.200.1?\\

Ces 2 commandes permettent de créer un tunnel sécurisé et d'attribuer les
paramètres IP nécessaires à chacune des interfaces de celui-ci.\\

Lorsque l'on met en place un tunnel, notamment avec OpenVPN, il faut bien 
prendre en compte les divers éléments à traverser et notamment s'il y a 
des règles de NAT. En effet, un tunnel VPN peut être, une fois établi, soit
en UDP soit en TCP. Dans la majeur partie des cas, ceux-ci seront en UDP 
afin de pouvoir utiliser des programmes fonctionnant en UDP ou en TCP dans
ce tunnel. Dans le cas ou de la NAT est en place, afin de permettre au 
informations de circuler, le tunnel doit être établi en TCP. Cela pose 
enormément de problèmes lorsque du traffic TCP passe dans celui-ci puisqu'en 
cas de perte de paquets, ceux du tunnel et ceux de l'application seront 
renvoyés jusqu'à ce que le destinataire les reçoivent, ce qui consomme donc 
énormement de bande-passante inutilement.\\

Un tunnel OpenVPN permet d'établir une connexion directe entre 2 postes à 
travers Internet. Cela permet d'établir des réseaux Intranet en utilisant 
les connexions Internet de chaque site. Le principe d'établissement de la 
connexion OpenVPN se fait sur un échange de type clé partagée.\\

Pour mettre en place un tunnel avec OpenVPN, il faut créer un fichier de 
configuration (dans /etc/openvpn) puis créer une clé partagée via la commande:
\\
openvpn --genkey --secret nom\_de\_la\_cle.pem\\

Il faut ensuite créer le fichier de configuration correspondant sur l'autre 
poste et y copier la clé partagée. Il ne reste plus qu'à éditer la 
configuration du parefeu afin d'autoriser cette connexion dans le(s) sens 
souhaité(s).\\

Une fois le tunnel en place, il est possible d'atteindre directement la machine
et/ou le réseau distant via son adresse à travers le tunnel.

